﻿#ifndef NAMEDEFINITION_H
#define NAMEDEFINITION_H

#include <QString>

namespace AxisName
{
    // Pick Arm module
    const QString TrayLoaderX = "TrayLoaderX";
    const QString PickArmY = "PickArmY";
    const QString PickerZ1 = "PickerZ1";
    const QString PickerZ2 = "PickerZ2";
    const QString PickerT1 = "PickerT1";
    const QString PickerT2 = "PickerT2";

    // AA Head Module
    const QString SUTX = "SUTX";
    const QString SUTY = "SUTY";
    const QString SUTZ = "SUTZ";
    const QString AAU = "AAU";
    const QString AAV = "AAV";
    const QString AAW = "AAW";
}    // namespace AxisName

namespace DiName
{
    // Pick Arm Module

}    // namespace DiName

namespace DoName
{
    // Pick Arm Module

    // AA Head  Module
    const QString AAGripper = "AAGripper";
    const QString ShotGlueOut = "ShotGlueOut";

    const QString UV1 = "UV1";
}    // namespace DoName

namespace CylName
{
    // Pick Arm Module
    const QString NgSensorPickerCyl = "NgSensorPickerCyl";
    const QString SutClamp = "SutClamp";
    const QString AAGripper = "AAGripper";

}    // namespace CylName

namespace VacuumName
{
    // Dispense  module
    const QString LPAVacuum = "LPAVacuum";
    const QString SPAVacuum = "SPAVacuum";
    const QString SPARejectVac = "SPARejectVac";

    const QString SUTVacuum = "SUTVacuum";
    const QString LUTVacuum = "LUTVacuum";
    const QString LUTRejectVac = "LUTRejectVac";
}    // namespace VacuumName

// single axis module
namespace SAxisModuleName
{
    // Pick Arm Module
    const QString TrayLoaderX = "TrayLoaderX";
    const QString PickArmY = "PickArmY";
    const QString PickerZ1 = "PickerZ1";
    const QString PickerZ2 = "PickerZ2";
    const QString PickerT1 = "PickerT1";
    const QString PickerT2 = "PickerT2";

    // AA Head Module
    const QString SUTX = "SUTX";
    const QString SUTY = "SUTY";
    const QString SUTZ = "SUTZ";
    const QString AAU = "AAU";
    const QString AAV = "AAV";
    const QString AAW = "AAW";
}    // namespace SAxisModuleName

namespace XYModuleName
{
    // Pick Arm Module
    const QString PickArmXY = "PickArmXY";
}    // namespace XYModuleName

namespace XYZModuleName
{
    const QString SUTXYZ = "SUTXYZ";
    const QString AaHeadTheta = "AaHeadTheta";
}    // namespace XYZModuleName

namespace SAxisPosName
{
    // Pick arm
    const QString StandbyPos = "StandbyPos";
    const QString LoadMaterialPos = "LoadMaterialPos";

    const QString WaitForSutPos = "WaitForSutPos";
    const QString PickCalibraGrassPos  = "PickCalibraGrassPos";

    const QString PlaceLensPos = "PlaceLensPos";
    const QString PlaceSenserStandbyPos = "PlaceSenserStandbyPos";
    const QString PlaceSensorPos = "PlaceSensorPos";
    const QString PlaceOKProductPos = "PlaceOKProductPos";
    const QString PickOKProductPos = "PickOKProductPos";
    const QString PickNgLensPos = "PickNgLensPos";
    const QString PickNgSensorPos = "PickNgSensorPos";

    const QString PickLensPos = "PickLensPos";
    const QString PickSensorPs = "PickSensorPs";

    const QString StartSoftLandPos = "StartSoftLandPos";
    const QString MushroomPos = "MushroomPos";
}    // namespace SAxisPosName

namespace XYPosName
{
    const QString StandbyPos = "StandbyPos";
    const QString Picker1GetcalibGrassPos = "Picker1GetcalibGrassPos";
    const QString Picker2GetcalibGrassPos = "Picker2GetcalibGrassPos";

    const QString Picker1DownlookPrPos = "Picker1DownlookPrPos";
    const QString Picker2DownlookPrPos = "Picker2DownlookPrPos";

    const QString SensorTrayDownLookPos = "SensorTrayDownLookPos";
    const QString LensTrayDownLookPos = "LensTrayDownLookPos";
    const QString RejectTrayDownLookPos = "RejectTrayDownLookPos";

    const QString LoadSensorPos = "LoadSensorPos";
    const QString LoadLensPos = "LoadLensPos";

    const QString PlaceOKProductPos = "PlaceOKProductPos";
    const QString PlaceNgSenserPos = "PlaceNgSensorPos";

    const QString PAWaitForSutPos = "PAWaitForSutPos";
    const QString ExchangePanelPos = "ExchangePanelPos";
}    // namespace XYPosName

namespace XYZPosName
{
    const QString StandbyPos = "StandbyPos";

    const QString ShotGlueDotPos = "ShotGlueDotPos";

    const QString LoadSensorPos = "LoadSensorPos";
    const QString UnloadOkProductPos = "UnloadOkProductPos";
    const QString UnloadNgSenserPos = "UnloadNgSenserPos";

    const QString UpLookCalibratePrPos = "UpLookCalibratePrPos";
    const QString ShotterPrPos = "ShotterPrPos";
    const QString UpLookAndDownLookPrPos = "UpLookAndDownLookPrPos";

    const QString ULPrGripPos = "ULPrGripPos";
    const QString DLPrLutPos = "DLPrLutPos";
    const QString DLPrSutPos = "DLPrSutPos";
    const QString DLPrRLutPos = "DLPrRLutPos";

    const QString UpLookCalculatePos = "UpLookCalculatePos";
    const QString DownLookCalculatePos = "DownLookCalculatePos";
    const QString GluePrPos = "GluePrPos";

    const QString PickLensPos = "PickLensPos";
    const QString MushroomPos = "MushroomPos";
    const QString RejectLensPos = "RejectLensPos";
    const QString AssemblyPos = "AssemblyPos";

    const QString LoadMaterialPos = "LoadMaterialPos";
    const QString DispenGlueSoftLandingPos = "DispenGlueSoftLandingPos";
}    // namespace XYZPosName

namespace CameraName
{
    const QString PADownlookCamera = "PADownlookCamera";
    const QString SUTUplookCamera = "SUTUplookCamera";
    const QString DISPDownlookCamera = "DISPDownlookCamera";
}    // namespace CameraName

namespace WorkerName
{
    const QString PickArm("PickArm");
    const QString AaHead("AaHead");
    const QString AACore("AACore");
}    // namespace WorkerName

namespace VLName
{
    const QString PickerCaliGlassLocation = "PickerCaliGlassLocation";
    const QString SensorTrayDownLookLocation = "SensorTrayDownLookLocation";
    const QString LensTrayDownLookLocation = "LensTrayDownLookLocation";
    const QString RejectTrayDownLookLocation = "RejectTrayDownLookLocation";

    const QString DispenDownLookLocation = "DispenDownLookLocation";
    const QString UpLookCameraLocation = "UpLookCameraLocation";
    const QString LensPrLocation = "LensPrLocation";
    const QString SenserPrLocation = "SenserPrLocation";
}    // namespace VLName

namespace CaliName
{
    const QString PADownLookCameraCalibration = "PADownLookCameraCalibration";
    const QString SUTUpLookCameraCalibration = "SUTUpLookCameraCalibration";
    const QString ShotterDownLookCameraCalibration = "ShotterDownLookCameraCalibration";
}    // namespace CaliName

namespace AAImageDefinition
{
    const QString OCImage = "OCImage";
    const QString MTFImage = "MTFImage";
    const QString AADebugImage = "AADebugImage";
    const QString LiveImage = "LiveImage";
}   // namespace AAImageDefinition

namespace AAResult
{
    const QString RawSensor  = "RawSensor";
    const QString RawLens    = "RawLens";
    const QString NoProduct = "NoProduct";
    const QString NoSensor  = "NoSensor";
    const QString NoLens = "NoLens";

    const QString NgSensor  = "NgSensor";
    const QString NgLens    = "NgLens";
    const QString NgProduct = "NgProduct";

    const QString GoodProduct = "GoodProduct";
    const QString FirstLoad = "FirstLoad";

    //May be needed for camera test in future development.
    const QString TestProduct = "TestProduct";
}   // namespace AAResult

namespace AALog
{
    const QString AABaseLogDir = "aa_log//";
    const QString GrabberLogDir = "grabber_log//";
    const QString ZScanLogDir = "zscan_log//";
}

namespace SLPos
{
    const QString PickRejectSensor = "PickRejectSensor";
    const QString PickLens = "PickLens";
    const QString ShotGlue = "ShotGlue";
}

namespace ErrorHandlingOption
{
    const QString Next_ = "Next";

    const QString Extend_ = "Extend";
    const QString Continual_ = "Continual";
}

namespace WorkerEventPriority {
    const int AHeadAuto = 1000;
    const int PAAuto = 2000;
    const int ExchangeTray = 3000;
    const int ErrorHandle = 9000;
}

#endif    // NAMEDEFINITION_H
